﻿/*
SINACOR - BMF&Bovespa
Arquivo: RemontaCalendarioOrdens.cs
Criado em: 18-mai-2010 11:06:43
Arquiteto Responsável: p-wgeneroso
*/
using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.Infra.Common;
using Sinacor.Infra.UI.Common;
using Sinacor.Infra.Common.Exceptions;

namespace Sinacor.UI.Bovespa.Movimento.Presenter 
{
	public class RemontaCalendarioOrdens : BasePresenter<IRemontaCalendarioView>, IRemontaCalendario
    {
        #region Atributos

        private Communication.ControleMovimentoOrdens _communicationControleMovimentoOrdens;
		private Model.InformacoesMovimento _informacoesMovimento;
        private Model.DataAtual _dataAtual;

		#endregion

        #region Construtores

        public RemontaCalendarioOrdens(IRemontaCalendarioView view)
            : base(view)
        {
            _communicationControleMovimentoOrdens = new Communication.ControleMovimentoOrdens(this.Session);
            _informacoesMovimento = new Model.InformacoesMovimento();
            _dataAtual = new Model.DataAtual();
        }

        #endregion

		#region Propriedades

		public Model.InformacoesMovimento InformacoesMovimento
		{
			get { return _informacoesMovimento; }
			set { _informacoesMovimento = value; }
		}

		#endregion

		#region Métodos

		public void Inicializar()
		{
            _informacoesMovimento = _communicationControleMovimentoOrdens.ObterInformacoesMovimento(new Sinacor.UI.Bovespa.Movimento.Model.DataMovimento());
            View.AtualizarDataMovimento();
		}

		public void RemontarCalendario()
		{
            try
            {
                _communicationControleMovimentoOrdens.RemontaCalendario();
                View.InformarSucesso();
            }
            catch (Exception ex)
            {
                base.HandleException(ex, ErrorLevel.Critical);
            }
		}

		#endregion
	}

}